﻿#ifndef CDATAWIDGET_H
#define CDATAWIDGET_H

#include <QWidget>
#include <QScrollBar>
#include <QTextEdit>
#include <QLabel>
#include <QString>
#include <QStringList>
#include "datastorage.h"

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

class CDataWidget : public QWidget
{
    Q_OBJECT
public:
    explicit CDataWidget(QWidget *parent = 0);
    ~CDataWidget();
    void paintEvent(QPaintEvent *e);
signals:
    void updateview();                                //界面刷新信号
    void onscrollbar(int);                            //滚动条信号（手动）
private slots:
    void UpdateView();                                //界面刷新函数
    void OnScrollBar1(int);                           //滚动条处理函数
private:
    void InitFace();                                  //界面初始化
    void InitData();                                  //数据初始化
    void AddTag();                                    //附加信息数据
    QTextEdit           *textTag1;                     //数据逐条附加信息
    QTextEdit           *textCmd1;                     //数据逐条显示
    QTextEdit           *textTag2;                     //数据逐条附加信息
    QTextEdit           *textCmd2;                     //数据逐条显示
    QScrollBar          *scrollBar1;                   //数据定位滚动条
    QScrollBar          *scrollBar2;                   //数据定位滚动条
    QLabel              *label1;                      //中间信息
    QLabel              *label2;                      //其他信息

    QByteArrayList      *listShow;                    //供显示的数据的QList<QByteArray>
    QStringList         listTag;                      //存储附加信息的QList<QString>
    qint32              count;                        //数据长度
    qint8               maxRow;                       //界面可显示数据行数
    QList<QString>      cmdInfo;
    QList<QColor>       cmdColor;
};

#endif // CDATAWIDGET_H

/*
 * 说明：外部接口
 * AddToDataList（）;添加listCmd数据
 * updateview()消息。刷新界面消息
*/
